package wh.加一;

import java.util.Arrays;

/**
 * @author: wh(1835734390 @ qq.com)
 * @date: 2022/3/31 22:06
 * @description:给定一个由 整数 组成的 非空 数组所表示的非负整数，在该数的基础上加一。
 * @version:
 */
public class Solution {
    public static void main(String[] args) {
        int[] nums = {9,9,9};
        int[] ints = plusOne(nums);
        System.out.println(Arrays.toString(ints));

    }
    //解法1
    public static int[] plusOne(int[] digits) {
        //考虑二进制问题
        digits[digits.length-1]++;
        for (int i = digits.length - 1; i > 0 ; i--) {
            if(digits[i] >= 10){
                digits[i] = 0;
                digits[i-1]++;
            }
        }
        if(digits[0] == 10){
            //妙啊！！一但下标0对应的位置变成10，说明其余下标位置均为默认值0;
            digits = new int[digits.length + 1];
            int[] digits2 = new int[9];
            digits[0] = 1;
        }
        return digits;
    }


}
